home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / misc / bumprev.lha / BumpRev.rexx
Encoding:
OS/2 REXX Batch file  |  1994-10-03  |  2.5 KB  |  93 lines

  1. /*
  2.  *    $VER: BumpRev.rexx 1.1 (27.09.94) © Sylvain Rougier & Pierre Carrette
  3.  *    $VER: BumpRev.rexx 1.0 (26.07.94) © Sylvain Rougier
  4.  *
  5.  *
  6.  *    Example:
  7.  *    1>    rx bumprev.rexx Name prog Version 1 Revision 0 Copyright "© by Sylvain Rougier" IncRev Verbose
  8.  *
  9.  *    27/09/1994: 1.1 by P.C.
  10.  *        * added File/K Keyword.
  11.  *        * asm include created only if Asm keyword is present.
  12.  */
  13.  
  14.  
  15. PARSE ARG ArgLine
  16.  
  17. call addlib("RexxDosSupport.library",0,-30,2)
  18.  
  19. Template = "Name/A,Version,Revision,File/K,Copyright/K,IncRev/K/S,Verbose/K/S,Time/K/S,Asm/K/S"
  20. IF ~ReadArgs(ArgLine, Template, "Args.") THEN DO
  21.     Echo "BumpRev: " Fault(RC)
  22.     Echo "Usage: "Template
  23.     EXIT
  24. END
  25.  
  26. IF Args.File = 'ARGS.FILE' THEN
  27.     FileName = Args.Name"_rev.h"
  28. ELSE
  29.     FileName = Args.File
  30.  
  31. IF Args.IncRev THEN DO
  32.     IF OPEN(FH, FileName, 'R') THEN DO
  33.         s = ReadLn(FH)    /* VERSION */
  34.         OldVersion = WORD(s, 3)
  35.         IF OldVersion ~= Args.Version THEN
  36.             Args.Revision = 0
  37.         ELSE
  38.             DO
  39.             s = ReadLn(FH)    /* REVISION */
  40.             Args.Revision = WORD(s, 3) + 1
  41.             END
  42.         CLOSE(FH)
  43.     END
  44.     ELSE
  45.         Args.Revision = 0;
  46. END
  47.  
  48. VersionRevision = Args.Version'.'Args.Revision
  49. DateVer = SUBSTR( DATE(SORTED), 7, 2)'.'SUBSTR(DATE( SORTED), 5, 2)'.'SUBSTR(DATE(SORTED), 3, 2)
  50. IF Args.Time THEN
  51.     VersTag = '$VER:'Args.Name' 'Args.Version'.'Args.Revision' ('DateVer') 'TIME( NORMAL)'  'Args.Copyright'"'
  52. ELSE
  53.     VersTag = '$VER:'Args.Name' 'Args.Version'.'Args.Revision' ('DateVer') 'Args.Copyright'"'
  54.     
  55. IF OPEN(FH, FileName, 'W') THEN DO
  56.     WriteLn(FH, '#define VERSION 'Args.Version)
  57.     WriteLn(FH, '#define REVISION 'Args.Revision)
  58.     WriteLn(FH, '#define VERSIONREVISION "'VersionRevision'"')    /* asked by Pierre Carrette */
  59.     WriteLn(FH, '#define DATE "'DateVer'"')
  60.     WriteLn(FH, '#define VERS "'Args.Name' 'VersionRevision'"')
  61.     WriteLn(FH, '#define VSTRING "'Args.Name' 'VersionRevision' ('DateVer')\r\n"')
  62.     WriteLn(FH, '#define VERSTAG "'VersTag)
  63.     CLOSE(FH)
  64. END
  65. ELSE
  66.     EXIT
  67.  
  68. IF Args.Asm THEN DO
  69.     IF OPEN(FH, Args.Name"_rev.i", 'W') THEN DO
  70.         WriteLn(FH, "VERSION EQU "Args.Version)
  71.         WriteLn(FH, "REVISION EQU "Args.Revision)
  72.         WriteLn(FH, "DATE    MACRO")
  73.         WriteLn(FH, "        dc.b  '"DateVer"'")
  74.         WriteLn(FH, "    ENDM")
  75.         WriteLn(FH, "VERS    MACRO")
  76.         WriteLn(FH, "        dc.b  '"Args.Name" "VersionRevision"'")
  77.         WriteLn(FH, "    ENDM")
  78.         WriteLn(FH, "VSTRING    MACRO")
  79.         WriteLn(FH, "        dc.b  '"Args.Name" "VersionRevision" ("DateVer")',13,10,0")
  80.         WriteLn(FH, "    ENDM")
  81.         WriteLn(FH, "VERSTAG    MACRO")
  82.         WriteLn(FH, "        dc.b  '$VER: "Args.Name" "VersionRevision" ("DateVer") "TIME(NORMAL)" "Args.Copyright"',0") 
  83.         WriteLn(FH, "    ENDM")
  84.         CLOSE(FH)
  85.     END
  86.     ELSE
  87.         EXIT
  88. END
  89.  
  90. IF Args.Verbose THEN DO
  91.     Echo VersTag
  92. END
  93.